public class mydemo1 {
    //力扣 ：面试题 08.01. 三步问题
    static int E=1000000007;
    public int waysToStep(int n) {
        return shif(n);
    }
    public int shif(int n){
        if(n==1) return 1;
        if(n==2) return 2;
        if(n==3) return 4;

        long a=1;
        long b=2;
        long c=4;
        long temp=0;
        for(int i=4;i<=n;i++){
            temp=a;
            a=b;
            b=c;
            c=(temp+a+b)%E;//每次获得的都需要%E;
        }
        int sum=(int)c;
        return sum;
    }
}
